import csv
import pdfplumber
import tabula
import os
#这个程序用来将PDF转成txt格式，并提取出PDF中的表，但是对于pdf是图片的情况，无法处理。
# 提取PDF中的文本
def extract_text_from_pdf(pdf_path):
    with pdfplumber.open(pdf_path) as pdf:
        text_list = []
        for page in pdf.pages:
            page_text = page.extract_text()
            words = page_text.split()
            line = ' '.join(words)
            text_list.append(line)
    text = '\n'.join(text_list)
    return text
 
 
#def extract_tables_from_pdf(pdf_path, output_dir):
    # 读取PDF中的表格
#    tables = tabula.read_pdf(pdf_path, pages="all", multiple_tables=True)
    # 逐一保存每张表格为CSV文件
 #   for i, table in enumerate(tables):
  #      output_path = os.path.join(output_dir, f"table_{i + 1}.csv")
   #     table.to_csv(output_path, index=False)
 
# 将提取的文本保存到TXT文件
def save_text_to_txt(text, output_path):
    with open(output_path, 'w', encoding='utf-8') as file:
        file.write(text)
 
# 指定PDF文件路径
pdf_path = "./example.pdf"
 
# 指定输出目录
output_dir = "output"
 
# 创建输出目录（如果不存在）
os.makedirs(output_dir, exist_ok=True)
 
# 提取表格并保存为单独的CSV文件
#extract_tables_from_pdf(pdf_path, output_dir)
 
# 提取文本并保存到TXT文件
text = extract_text_from_pdf(pdf_path)
text_output_path = "output.txt"
save_text_to_txt(text, text_output_path)
